package com.tianruan.dc.modules.sys.user.service;

import com.tianruan.dc.modules.sys.user.entity.db.ConsultationDO;
import com.tianruan.dc.modules.sys.user.entity.dto.ConsultationDTO;
import com.tianruan.dc.modules.sys.user.entity.dto.TutorSolutionDTO;
import com.tianruan.dc.modules.sys.user.utils.PageBean;
import com.tianruan.dc.modules.userinfo.entity.User;

import java.util.Date;
import java.util.List;

public interface IConsultationService {

    /**
     * 新增咨询
     * @param consultationDTO
     */
    void save(ConsultationDTO consultationDTO);

    /**
     * 删除咨询
     * @param id
     */
    void delete(ConsultationDO consultationDO, String id);

    /**
     * 根据id查询咨询
     * @param id
     */
    ConsultationDTO getById(String id);

    /**
     * 修改咨询
     * @param consultationDTO
     */
    void update(ConsultationDTO consultationDTO);

    /**
     * 咨询分页查询
     */
    PageBean<ConsultationDTO> pageConsultation(Integer page, Integer pageSize, String project_brief,
                                               String question, String create_by,
                                               Date startTime_C, Date endTime_C);

    /**
     * 解答记录分页查询
     */
    PageBean<TutorSolutionDTO> pageSolution(Integer page, Integer pageSize, String project_brief, String create_by,
                                            String createBy, Date startTime_C, Date endTime_C, Date startTime_S, Date endTime_S);

    /**
     * 根据id查询导师
     * @param id
     * @return
     */
    User getTutorById(String id);

    /**
     * 根据用户id查询个人咨询与解答信息
     * @param user_name
     * @return
     */
    List<ConsultationDTO> getByUserId(String user_name);
}
